<?xml version="1.0" encoding="utf-8"?>
<!--
                                                                                     
 h       t     t                ::       /     /                     t             / 
 h       t     t                ::      //    //                     t            // 
 h     ttttt ttttt ppppp sssss         //    //  y   y       sssss ttttt         //  
 hhhh    t     t   p   p s            //    //   y   y       s       t          //   
 h  hh   t     t   ppppp sssss       //    //    yyyyy       sssss   t         //    
 h   h   t     t   p         s  ::   /     /         y  ..       s   t    ..   /     
 h   h   t     t   p     sssss  ::   /     /     yyyyy  ..   sssss   t    ..   /     
                                                                                     
	<https://y.st./>
	Copyright © 2018 Alex Yst <mailto:copyright@y.st>

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <https://www.gnu.org./licenses/>.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<base href="https://y.st./en/weblog/2018/04-April/04.xhtml"/>
		<title>Strange data loss &lt;https://y.st./en/weblog/2018/04-April/04.xhtml&gt;</title>
		<link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png"/>
		<link rel="stylesheet" type="text/css" href="/link/main.css"/>
		<script type="text/javascript" src="/script/javascript.js"/>
		<meta name="viewport" content="width=device-width"/>
	</head>
	<body>
<nav>
	<p>
		<a href="/en/coursework/">Coursework</a> |
		<a href="/en/take-down/">Take-down requests</a> |
		<a href="/en/">Home</a> |
		<a href="/en/a/about.xhtml">About</a> |
		<a href="/en/a/contact.xhtml">Contact</a> |
		<a href="/a/canary.txt">Canary</a> |
		<a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
		<a href="/en/opinion/">Opinions</a> |
		<a href="/en/law/">Law</a> |
		<a href="/en/recipe/">Recipes</a> |
		<a href="/en/a/links.xhtml">Links</a> |
		<a href="/en/weblog/2018/04-April/04.xhtml.asc">{this page}.asc</a>
	</p>
	<hr/>
	<p>
		Weblog index:
		<a href="/en/weblog/memories">Memories</a> |
		<a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
		<a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
		<a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
	</p>
	<hr/>
	<p>
		Jump to entry:
		<a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
		<a rel="prev" href="/en/weblog/2018/04-April/03.xhtml">&lt;Previous</a>
		<a rel="next" href="/en/weblog/2018/04-April/05.xhtml">Next&gt;</a>
		<a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
			</p>
			<hr/>
</nav>
		<header>
			<h1>Strange data loss</h1>
			<p>Day 01124: <time>Wednesday, 2018 April 04</time></p>
		</header>
<section id="taxes">
	<h2>Drudgery</h2>
	<p>
		I finally set about filing my taxes today.
		I started working with the same service I used last year, but they wanted to charge me for my state return this time, so I looked for another state tax-filing option.
		I found the link to get the service I used to file a state return gratis, but as I&apos;d already given them my information this year, they refused to let me use the gratis option after finding it.
	</p>
	<p>
		I found another service, which seemed better than most at first.
		They requested three telephone numbers: a main number, a mobile number, and a foreign number, but they also had a check box to indicate that you have no valid <abbr title="United States of America">US</abbr> number.
		However, upon checking that and submitting the form, they demand a mobile number; but they also add a new check box for indicating you have none.
		Upon submitting <strong>*that*</strong> form though, they demand a foreign number.
		As long as you tell them you have no <abbr title="United States of America">US</abbr> number, there&apos;s no way to get out of giving them a foreign number.
		I don&apos;t have time for this scrap though, and they didn&apos;t allow phrases such as &quot;no telephone service&quot;, so I just told them my number is <code>0</code>.
		Let&apos;s just see them try to call that and reach the operator or something.
	</p>
	<p>
		Anyway, my taxes have been filed now, but I need to remember next year not to follow the links my tax preparer sends me.
		Instead, I need to reach their website through the link provided by my state&apos;s website.
	</p>
</section>
<section id="Minetest">
	<h2>Minetest log</h2>
	<p>
		Over the past several days, I&apos;ve been testing new code but never mining.
		The tropical coral reef is really taking over my arctic island.
		I don&apos;t really have a way to keep the coral out of the arctic, but I do need to add some more limiters to the coral spread.
		I&apos;ve made coral not generate too far from sand, to start with.
		That&apos;ll keep it from continuing to spread out as a layer across the ocean like it&apos;s been threatening to do.
		I&apos;ve also made it spread slower.
		I won&apos;t be able to really see the effects of the new code though until I totally wreck the reef in about eight days.
		I&apos;ll clear out all the coral, just so I&apos;ll see when the new coral starts to grow and how fast it spreads.
	</p>
	<p>
		I have no idea what happened, but everything in my world mods directory disappeared on me.
		It doesn&apos;t seem to exist on my filesystem any more.
		Included here was the unreleased <code>yellow</code> mod.
		No copies of this exist, so the mod is just gone now.
		An unreleased custom interface mod was here as well.
		My only local copies of <code>blockprotectnodes</code>, <code>minestats</code>, and <code>minestats_sfinv</code> were here, but I have copies in remote repositories.
		The only existing copies of <code>arborist</code>, <code>antifire</code> and <code>drop_hack</code> were here, but I can rebuild those.
		It&apos;ll be a slight pain, but I can do it.
		I don&apos;t recall what else was there.
		The biggest loss was everything <code>minequest</code>-related.
		Thankfully, <code>minequest</code> proper&apos;s only irreplaceable file was open in Geany at the time; I&apos;ve saved it elsewhere, preserving its contents.
		<code>yellow</code> was lost in its entirety.
		I poured so much into that mod ... I guess it&apos;s true that I&apos;d decided to go in a different direction and not use that mod in my own world, but I hadn&apos;t entirely written its replacement yet and I hadn&apos;t broken dependence on it yet.
		I was also considering actually releasing it, though not quite yet.
	</p>
	<p>
		Unsatisfied, I tried to replicate the issue.
		All I&apos;d used were Git and Minetest, and I was sure Git hadn&apos;t done this.
		Either Minetest had done this, or something on my system had had a freak malfunction that just happened to affect one of the main directories I was working with at the time.
		I have terrible luck, but even <strong>*my*</strong> luck&apos;s not usually <strong>*that*</strong> bad, at least not with such precision.
		I mean, I could loose the entire drive, but I wouldn&apos;t lose only this directory.
		I managed to work out the steps to repeat the problem, and in doing so, I found the cause.
		It seems Minetest deletes the contents of symlinked directories instead of the symlink itself, for symlinks in the world directories of worlds that get deleted.
		I&apos;d been using symlinks to an outer directory to avoid losing my mods when removing a world, and instead, that <strong>*caused*</strong> the mods to be lost.
		I&apos;ve now filed a <a href="https://github.com/minetest/minetest/issues/7201">bug report</a>.
	</p>
	<p>
		I was struggling to remember what all was in that directory; what all was lost.
		For piece of mind, I needed to figure out what mods weren&apos;t lost, which ones were lost and didn&apos;t matter, and which would need to be rebuilt.
		I racked my brain, but couldn&apos;t be sure I&apos;d remembered everything.
		By the time my visit with my mother today concluded though, I&apos;d realised how I actually needed to look at that directory.
		That directory housed the mods used in my main world; in other words, the mods I actually care about.
		(All mods I don&apos;t really use were spared.)
		These could be broken down into three categories: mods that were complete, mods that were incomplete, and mods that were there for legacy reasons and would be removed once I&apos;d completed a replacement for them.
		Completed mods were released; I already cloned them back to my machine from the Internet before I left home.
		The main incomplete mods were the contents of the Minequest Modpack; I&apos;d savaged the parts of that that were most important.
		All I need to do is think about what was incomplete but planned to belong in my world and what was was obsolete in my world but not yet replaced.
		This was a much simpler thing to try to come up with.
	</p>
	<p>
		I think what I&apos;ve lost (aside from some little things in the Minequest Modpack is just <code>yellow</code>, <code>antifire</code>, <code>drop_hack</code>, and <code>arborist</code>.
		<code>drop_hack</code> needs to have it&apos;s <code>minequest</code> equivalent programmed before the term begins.
		This is not optional, so I need to turn my focus to that now.
		<code>arborist</code>&apos;s functionality would be nice to have programmed into the Minequest Modpack, but it can wait a bit.
		<code>yellow</code>&apos;s replacement is all but complete.
		I need to clean up the code a bit, but more importantly, I need to decide upon which item will bear this ability when placed in the deck.
		<code>antifire</code> ... won&apos;t be urgent until I&apos;m about to make the world public.
		Plus it needed some cleanup as far as implementation.
		And it needed to be renamed, as the name <code>antifire</code> turned out after I&apos;d named the mod to be taken by another mod already, one that&apos;s been around much longer than mine.
		Don&apos;t get me wrong, the loss of <code>yellow</code> was killer.
		However, I think it was the only thing of real value that I <strong>*did*</strong> lose.
		I need to focus in a different area to recover now, but it&apos;s an area I&apos;d focus in eventually anyway.
		Oh.
		Yeah.
		I also lost <code>10</code>, which was responsible for the functionality of my custom, world-specific <abbr title="heads-up display">HUD</abbr>.
		It&apos;ll be a pain to reprogram, but I can recover most of the code from the <code>minestats_hud</code> mod.
	</p>
</section>
		<hr/>
		<p>
			Copyright © 2018 Alex Yst;
			You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
			If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
			My address is in the source comments near the top of this document.
			This license also applies to embedded content such as images.
			For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
		</p>
		<p>
			<abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
			This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2018%2F04-April%2F04.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.2</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2018%2F04-April%2F04.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
		</p>
	</body>
</html>

